package chapter01.part7;

import java.util.Optional;

/**
 * 不恰当使用的方式
 * 不如直接使用 null 判断
 *
 * 只有在不确定是否为 null 的时候 再使用 Optional 作为返回值
 * 
 * @author insight 
 * @since 2021/7/19
 */
public class WrongWay {
    public static void main(String[] args) {
        // 3 不要把 null 给 Optional
        Integer integer = null;
        Optional<Object> nullable = Optional.of(integer);

        // 1 直接使用 get()
        // 白用
        System.out.println(nullable.get());

        // 2 不要为了用而用
        // 两者没有区别 后者甚至更简单
        if (nullable.isPresent()) {
            System.out.println(nullable);
        }
        if (integer != null) {
            System.out.println(integer);
        }

        // 4 不要把 Optional 作为参数 / 放到集合中
        // 5 不要把 Optional 作为 domain / field
    }
}